<html>
<head>
<title>Remake de Fruity Frank - Version 0.10</title>
<style type="text/css">
span {
	font-family: 'Courier New';
	font-size: 10pt;
	color: #000000;
}
.SpanClass0 {
	color: #808080;
}
.SpanClass3 {
	color: #008080;
}
.SpanClass5 {
	font-weight: bold;
	color: #0000FF;
}
.SpanClass7 {
	color: #808080;
}
.SpanClass10 {
	font-weight: bold;
	color: #000080;
}
.SpanClass11 {
}
</style>
</head>
<body bgcolor="#FFFFFF">
<h2>Remake (parcial) de Fruity Frank... 10 - Un personaje que cambia de forma</h2>
<p align="right">(Volver al <a href="doc.html">&iacute;ndice</a>) </p>

<p>Nuestro personaje siempre mira hacia la derecha, nos movamos hacia donde nos movamos. Como primer acercamiento a un movimiento &quot;m&aacute;s real&quot;, vamos a hacer que mire hacia el lado en que se mueve.</p>

<p>Existen varias formas de hacerlo. Casi todas pasan por a&ntilde;adir un paso adicional cada vez que el usuario pulse una tecla. Si esa tecla es la de la izquierda, memorizaremos de alguna forma que ahora se deber&aacute; dibujar el personaje que se desplaza hacia la izquierda. Se podr&iacute;a hacer actualizando el valor de una variable &quot;direcci&oacute;n&quot;, o bien simplemente cambiando el identificador de la imagen que mostraremos. &Eacute;sta es la alternativa que usar&eacute; yo: tener 3 im&aacute;genes del personaje le&iacute;das de fichero (derecha, izquierda y arriba/abajo), junto con una cuarta imagen que no se lee de fichero, sino que toma su valor a partir de las otras, y que es la que realmente se muestra en pantalla:</p>

<pre><code>   SDLA_Imagen* personajeD;
    SDLA_Imagen* personajeI;
    SDLA_Imagen* personajeA;
    SDLA_Imagen* personaje;</code></pre>

<p>Como ya he comentado, tres de esas im&aacute;genes se leen de fichero:</p>

<pre><code>   personajeD=SDLA_cargarImagen(&quot;personajed1.bmp&quot;);
    personajeI=SDLA_cargarImagen(&quot;personajei1.bmp&quot;);
    personajeA=SDLA_cargarImagen(&quot;personajea1.bmp&quot;);</code></pre>


<p>Y la cuarta cambia de valor seg&uacute;n la direcci&oacute;n en que deba moverse el personaje:</p>

<pre><code>        if ( SDLA_teclaPulsada (TECLA_IZQ) )
        {
          if ((xPersonaje &gt; 0)
              &amp;&amp; (mapa1[yPersonaje][xPersonaje-1] != 'M'))
          {
            xPersonaje --;
            personaje = personajeI;
          }
        }</code></pre>

        
<p>Har&iacute;amos lo mismo para las dem&aacute;s direcciones, y dibujar&iacute;amos siempre la imagen llamada &quot;personaje&quot;, que en cada caso reflejar&aacute; nuestro personaje mirando hacia el lado que nos interesa. Con eso bastar&iacute;a para tener un personaje &quot;cambiante&quot; b&aacute;sico.</p>


<p>Como siempre, puedes ver todo el proyecto en: <a href="http://code.google.com/p/fruityfrank"> code.google.com/p/fruityfrank</a></p>
<p align="right">(Volver al <a href="doc.html">&iacute;ndice</a>) </p>
</body>
</html>
